abd955c1fdb1dfcdc11ea9da4acd3cc50f607e5c,opennms-provision/opennms-provisiond/src/main/java/org/opennms/netmgt/provision/service/DefaultProvisionService.java,DefaultProvisionService,getRequisitionedNode,#String#String#,292

Before Change


    public OnmsNode getRequisitionedNode(String foreignSource, String foreignId) throws ForeignSourceRepositoryException {
        OnmsNodeRequisition nodeReq = m_foreignSourceRepository.getNodeRequisition(foreignSource, foreignId);
        Assert.notNull(nodeReq, "nodeReq for node "+foreignSource+":"+foreignId+" cannot be null!");
        return nodeReq.constructOnmsNodeFromRequisition();
    }
    
    @Transactional

After Change


    public OnmsNode getRequisitionedNode(String foreignSource, String foreignId) throws ForeignSourceRepositoryException {
        OnmsNodeRequisition nodeReq = m_foreignSourceRepository.getNodeRequisition(foreignSource, foreignId);
        Assert.notNull(nodeReq, "nodeReq for node "+foreignSource+":"+foreignId+" cannot be null!");
        OnmsNode node = nodeReq.constructOnmsNodeFromRequisition();
        
        // fill in real db categories
        HashSet<OnmsCategory> dbCategories = new HashSet<OnmsCategory>();
        for(OnmsCategory category : node.getCategories()) {
            OnmsCategory dbCategory = createCategoryIfNecessary(category.getName());
            dbCategories.add(dbCategory);
        }
        
        node.setCategories(dbCategories);
        
        // fill in reall service types
        node.visit(new ServiceTypeFulfiller());
        
        return node;
    }
    
    @Transactional